package com.zxjbyte.yiyi.module.plugin.socket.api;

import com.zxjbyte.yiyi.framework.common.domain.message.StreamMessage;

/**
 * @Author zhangxingjia
 * @Date 2024/7/15 18:36
 * @Version: 1.0
 */
public interface WebSocketApi {

    /**
     * 指定用户发送文本消息
     * 此方法会发送纯文本消息，无消息流格式
     * @param userId
     * @param message
     * @return
     */
    boolean sendTextMessage(String userId, String message);

    /**
     * 指定用户发送消息流消息
     * @param userId
     * @param message
     * @return
     */
    boolean sendOneMessage(String userId, StreamMessage message);

    /**
     * 广播消息
     * @param message
     */
    void broadcastMessage(StreamMessage message);

    /**
     * 获取在线连接数
     * @return
     */
    int getOnlineCount();
}
